/**
 * @author Flávia Veloso Queiroz
 */

package cinema;
import java.io.IOException;
import java.net.URL;
import java.util.Scanner;

public class Serie implements Producao{
    
    private int id;
    private String titulo;
    private int ano;
    private Temporada [] temporadas;
    
    Serie(int id) throws IOException
    {
        this.id = id;        
       
        URL url = new URL("http://api.themoviedb.org/3/tv/"+id+"?api_key="
                + "2c179255fe73cce70fbf10d27856228d");
        Scanner scanner = new Scanner(url.openStream());
        String infoSerie = new String();
        
        while (scanner.hasNext())
        {
            infoSerie += scanner.nextLine();
        }
        
        scanner.close();
        
        this.titulo = infoSerie.substring(infoSerie.indexOf("last_air_date\":\"")+ 36, 
                infoSerie.indexOf("\"",infoSerie.indexOf("last_air_date\":\"")+ 36));
        
        try
        {
            this.ano = Integer.parseInt(infoSerie.substring(infoSerie.indexOf("first_air_date\":\"")+ 17, 
                    infoSerie.indexOf("-", infoSerie.indexOf("first_air_date\":\"")+ 17)));           
        }
        catch(Exception e)
        {
            System.out.println("Ano de inicio da série não está definido");
        }
        
        int tamanhoTemporada = 0;
        
        try
        {
           tamanhoTemporada = Integer.parseInt(infoSerie.substring(infoSerie.indexOf("number_of_seasons\":") + 
                   19, infoSerie.indexOf(",", infoSerie.indexOf("number_of_seasons\":") + 19)));
        }
        catch(Exception e)
        {
           tamanhoTemporada = 0;
        }
       
        temporadas = new Temporada[tamanhoTemporada];        
                  
    }
    
    public Temporada getTemporada(int indice)
    {
         for(int i = 0; i < temporadas.length; i++)
        {
            if(i == indice)
            {
                return temporadas[i];
            }
        }
        
         return null;
    }
        
    public int Tamanho()
    {
        return temporadas.length;        
    }

    @Override
    public int getID() {
        
        return id;
    }

    @Override
    public String getTitulo() {
                
        return titulo;
    }

    @Override
    public int getAno() {
       
        return ano;
    }
    
    
}
